let express = require('express')

let router = express.Router()

let {query} = require('../utils/db.js')

// 文章列表
router.get('/index',(req,res)=>{
    //获得所有的文章数据
    // select * from article;
    let sql = 'select * from article;'
    
    query(sql,(data)=>{
        let dataShow = {
            lists: data
        }
        res.render('article/index.ejs',dataShow)
    })
})

//1 .  app.js 增加一个路由  
//2 . 在views目录下 增加一个文件  content.ejs
//3 . 修改 views 目录下  index.ejs 给文章标题添加 a链接 并且配置 a链接 href 属性 href="/content"
//文章内容页
router.get('/content',(req,res)=>{
    // 需要获取 id的值
    let id = req.query.id
    let sql = 'select * from article where id=' + id + ';'

    query(sql,(data)=>{
        
        let dataShow = {
            article:data[0]
        }
        res.render('article/content.ejs', dataShow)
        
    })

  
    // 
})

//添加文章页面显示路由, router.get  所以这个路由只能接受get请求
router.get('/add',(req,res)=>{
    res.render('article/add.ejs')
})

// post请求的 添加文章路由,如果想拿到post数据，那么需要配置 bodyparser，配置方法参照该链接 
// https://gitee.com/hdlz/node/blob/master/2.express.md

//0. 修改add.ejs文件 给form 添加一个method="POST" 的属性，给每一个表单文本框 增加 name属性  title  content
//1. 安装 bodyparser  在项目根目录中 npm install body-parser
//2. 在app.js 中， 配置bodyparser 参照 上面链接 
//3. 增加一个 post请求的路由 在内部使用 console.log(req.body)  查看post过来的数据

router.post('/add',(req,res)=>{
    // console.log('add post')
    // console.log(req.body)
    let article = req.body //当前添加的文章数据
    //insert into article (title,content) values (666,6666);
    let sql = `insert into article (title,content) values ('${article.title}','${article.content}');`
    query(sql,(data)=>{
        req.flash('success','添加成功')
        res.redirect('/article/index')
    })
})
// 删除操作路由
router.get('/del',(req,res)=>{
    
    //获取要删除的id
    let id = req.query.id
    //将对应id 的数据删掉
    let sql = `delete from article where id=${id}`
    console.log(sql)
    query(sql,(data)=>{
        // 重定向到列表页  /index这个路由
        res.redirect('/article/index')
    })
    
})

// 编辑路由
router.get('/edit',(req,res)=>{
    //1. 获得当前条的id值
    let id = req.query.id
    
    let sql = `select * from article where id=${id}`
    query(sql,(data)=>{
        let dataShow = {
            article:data[0] //{ title: '文章222', content: '内容222',id:id }
        }
        res.render('article/edit.ejs',dataShow)
    })
    
})

// 修改路由
router.post('/edit',(req,res)=>{
    //1. 拿到post 过来的 title 和 content
    let article = req.body
    console.log(article)
    //2. 得到 id 用来确定修改那一条
    let id = req.body.id // query只能获得get参数
    let sql = `update article set title='${article.title}', content='${article.content}' where id=${id};`
    console.log(sql)
    query(sql,(data)=>{
        res.redirect('/article/index')
    })
})

module.exports = router
